1. Field of the Invention
The present invention relates to a communication resource management method and a node device for the purpose of providing a certain level of communication quality in a packet communication network.
2. Description of the Background Art
In the IP (Internet Protocol) network, for instance, an amount of delay caused for packets will be larger when the number of packets that arrive at a router for carrying out packet transfer becomes larger. In this case, however, each terminal is responsible for making a Judgement as to whether or not to reduce a load of the router by limiting the number of packets to be transmitted from the terminal, and the terminal has no obligation to limit the number of packets to be transmitted.
This is due to the fact that the Internet Protocol is designed without any consideration for guaranteeing the communication quality. For this reason, the IP network basically cannot guarantee the communication quality with respect to a user. However, in order to realize the video image communication, for example, there is a need to guarantee the communication quality such as packet transfer delay, so that there have been many propositions for a scheme that guarantees the communication quality in the IP network.
For instance, in the standardization organization called IETF, the service specification called xe2x80x9cGuaranteed Servicexe2x80x9d (S. Shenker et al., xe2x80x9cSpecification of Guaranteed Quality of Servicexe2x80x9d, Internet Draft draft-ietf-intserv-guaranteed-svc-08.txt) and the service specification called xe2x80x9cControlled Load Servicexe2x80x9d (J. Wroclawski, xe2x80x9cSpecification of the Controlled-Load Network Element Servicexe2x80x9d, Internet Draft draft-ietf-intserv-ctrl-load-svc-05.txt) have been proposed in the IntServ working group.
In these schemes, a bandwidth reservation request is notified to each node on the route of a flow, and a node that received the bandwidth reservation request accepts that bandwidth reservation request if there are enough communication resources for guaranteeing the communication quality within that node itself. Then, when packets belonging to a flow that requests the bandwidth arrive, each node on the route carries out the packet policing or packet scheduling according to values of traffic parameters reported for that flow so as to guarantee the communication quality. Here, the flow is defined as a group of packets which share the same destination address, destination port number, source address, source port number and protocol number, according to RSVP (R. Braden et al., xe2x80x9cResource ReSerVation Protocol (RSVP)xe2x80x94Version 1 Functional Specification, Internet Draft draft-ietf-rsvp-spec-16.txt), for example.
As an example of the scheduling algorithm, SCFQ (S. Jamaloddin Golestani, xe2x80x9cA Self-Clocked Fair Queueing Scheme for Broadband Applicationsxe2x80x9d, Proc. of Infocom 94, pp. 636-646, 1994) can be mentioned. In the SCFQ, the evaluation value based on the bandwidth allocated to the flow is calculated for each flow and packets of the flow that has the minimum value for this evaluation value will be transmitted. As such, the SCFQ requires the processing for each flow, so that there is a problem that its realization is difficult when a large number of flows are involved. This problem of a large processing load in the case of a large number of flows is also similarly present in the other scheduling algorithms.
Also, the policing function which monitors an amount of arriving packets requires the processing for each flow so that there is a problem of a large processing load in the case of a large number of flows.
Also, when the bandwidth request is made using the RSVP, for example, control packets of the RSVP will be periodically transmitted and received for each flow, so that there is also a problem that a load for processing these control packets becomes large in the case of a large number of flows.
As described, in the scheme in which each node in the network makes a judgement as to whether or not to accept the bandwidth reservation request and carries out the scheduling or policing for each flow from which the bandwidth reservation request has been accepted, there is an advantage in that it is possible to guarantee the communication quality with respect to a flow from which the bandwidth reservation request has been accepted, but there is also a drawback in that the processing load of each node becomes large.
On the other hand, there is also a proposition of a scheme in which an edge node provided at an ingress side of the network writes a tag indicating the priority class in a packet based on the bandwidth allocated to the flow of that packet, and each node inside the network carries out the priority control or scheduling according to the tag written in the packet, instead of carrying out the policing or scheduling that requires the processing for each flow at each node of the network as described above.
Each node inside the network does not have the problem of large processing power required to handle a large number of flows because packet priority control or packet scheduling is done not for each flow but for each priority class.
For instance, in the IETF, the scheme called xe2x80x9cDifferential Service (D. Clark and J. Wroclawski, xe2x80x9cAn Approach to Service Allocation in the Internetxe2x80x9d, Internet Draft draft-clark-diff-svc-alloc-00.txt) and the scheme called xe2x80x9cSIMAxe2x80x9d (K. Kilkki xe2x80x9cSimple Integrated Media Access (SIMA)xe2x80x9d, Internet Draft draft-kalevi-simple-media-access-01.txt) have been proposed. These are schemes in which a tag indicating a high priority level is written into a packet at a rate proportional to the bandwidth allocated to the flow.
For example, in the case of allocating a bandwidth of 100 [Kbps] to a flow A, the edge node provided at the ingress side of the network monitors the flow A, and writes a value indicating a high priority level in packets up to 100 [Kbps]. At a node inside the network, when congestion occurs, packets with a lower priority level is much more likely to be discarded than packet with higher priority level. In this way, the packets belonging to the flow A will be transferred at a high priority level within the range of 100 [Kbps].
Thus the flow can receive the transfer service at the high priority level as much as the bandwidth that are allocated to it. In this scheme, it suffices for the node inside the network to deal with the priority level written in the packets without becoming conscious of the flow so that there is an advantage that it is sufficient to carry out a simple processing.
FIG. 1 shows an exemplary realization of the differential service. In FIG. 1, a flow A and a flow B are transferred through a network 301. This network 301 comprises core nodes 101-103 and edge nodes 201-204, which are connected through communication links. The core nodes 101-103 carry out the priority processing at a time of packet transfer according to priority tags written in packets. The edge nodes 201-204 are located outside the core nodes 101-103 and write tags indicating the priority levels with respect to packets of the respective flows.
Within the network 301, the flow A is transferred through a route of the edge node 204, the core node 103, the core node 102, and the edge node 202, while the flow B is transferred through a route of the edge node 201, the core node 101, the core node 102, and the edge node 202. The edge node 204 writes a tag indicating the high priority level into packets up to 100 [Kbps] among the packets belonging to the flow A, while the edge node 201 writes a tag indicating the high priority level into packets up to 200 [kbps] among the packets belonging to the flow B. At the nodes 101-103 and 201-203 inside the network 301, when it is inevitable to discard some packets, the low priority packets, i.e., those packets in which the high priority tag is not written, will be discarded at a high priority. As a result, in this network 301, the packets belonging to the flow A up to 100 [Kbps] are transferred at the high priority while the packets belonging to the flow B up to 200 [Kbps] are transferred at the high priority.
However, this does not guarantee the communication quality to each flow. For example, when the transfer capability of the core node 102 is 200 [Kbps], the high priority packets of the flow A and the flow B can be discarded, and therefore it is impossible to guarantee the communication quality to each flow such as the packet loss rate (10xe2x88x924 for example). In other words, there are possibilities for being unable to provide a certain level of the communication quality for the flow as there exists a node on a route of the flow which has high load so that it becomes a bottleneck.
Also, in order to guarantee the communication quality in the above example, at most 300 [Kbps] can be consumed at the node 102, but it is difficult to comprehend this necessary bandwidth at the node 102, that is, it is difficult to determine the transfer capability necessary for the own node, so that it is difficult to make up a plan for augmenting the node facilities.
As such, the differential service scheme and the SIMA scheme have been associated with a problem that it is difficult to guarantee the communication quality for a flow and a problem that it is difficult for each node to comprehend the bandwidth to be consumed at the own node.
Note that the case of the IP network described here is only an example, and there are other schemes for reserving bandwidth on the connectionless communication network, and some more such schemes are expected to appear in future.
Thus, when the service such as Guaranteed Service or the Controlled Load Service is utilized in order to guarantee the communication quality in the connectionless communication network, there arises the first problem in that the there is a need to carry out the processing for each flow such as the scheduling or policing processing and the processing of RSVP control packets at each node within the network so that the processing load becomes high when a large number of flows are involved.
On the other hand, in the scheme such as the differential service in which a tag indicating the priority level is to be written in packets at a rate proportional to the bandwidth at an edge node provided at the ingress side of the network and the priority control is to be carried out at a time of the transfer processing according to this priority level at a node inside the network, there arise the second problem in that it is impossible to guarantee the communication quality to each flow, and the third problem that it is difficult to make up a plan for augmenting the node facilities according to the bandwidth consumed at each node.
It is therefore an object of the present invention to provide a communication resource management method and a node device which are capable of resolving the above noted second and third problems, without requiring the core nodes inside the network to carry out a processing with respect to packets that accounts for their flows, that is, while resolving the above noted first problem.
In the present invention, the attention is paid to the fact that the above noted second problem is caused because it is impossible for each edge node (204 for example) to know that a node (102 for example) on the route of the flow that is to be transmitted from that edge node (204) is currently in a state of having a high load due to high priority packets that flow into the network from another edge node (201 for example) so that high priority packets in excess of the transfer capability of the node on the route will flow into that node. Also, the attention is paid to the fact that the above noted third problem is caused because each node inside the network has no way of knowing the reserved bandwidth of the flow that passes through the own node.
According to one aspect of the present invention there is provided a method for managing communication resources in a network containing edge nodes located at a boundary of the network and core nodes located inside the network, comprising the steps of: (a) storing at one edge node an information for obtaining an available amount of communication resources that can be newly allocated in the network to one set of flows which share at least a route from said one edge node to an egress node of the network; (b) carrying out an admission control at said one edge node by newly receiving a request for allocation of communication resources for one flow belonging to said one set of flows, judging whether or not to accept the request according to a requested amount of communication resources and the available amount of communication resources as obtained from the information stored at the step (a) for said one set of flows, and allocating requested communication resources to said one flow when it is judged that the request is to be accepted; and (c) transmitting packets at said one edge node by describing a priority level in each packet according to an amount of communication resources allocated to a flow of the packets at the step (b), such that a core node carries out a transfer processing with respect to received packets according to the priority level described in each received packet.
In this aspect, the edge node can check whether the remaining resources (resources that can be newly allocated) are sufficient or not before accepting the resource allocation request for some flow, so that it is possible to transfer packets of the flow such that the communication quality of the accepted flow can be satisfied even when arrived packets of that flow uses the requested resources fully, in this network.
In order for the edge node to obtain the remaining resources, the communication resources that can be allocated to each set of flows can be set up in advance such that the prescribed communication quality can be satisfied, or the remaining resources on the route can be notified to the edge node by exchanging messages among nodes on the route from the ingress node to the egress node of the network.
According to another aspect of the present invention there is provided a method for managing communication resources in a network containing edge nodes located at a boundary of the network and core nodes located inside the network, comprising the steps of: (a) carrying out a priority control in which an edge node transmits packets by describing a priority level in each packet according to an amount of communication resources allocated to a flow of the packets, and a core node carries out a transfer processing with respect to received packets according to the priority level described in each received packet; (b) transmitting from one edge node a notification regarding an amount of communication resources allocated to a set of flows which include one flow and which share at least a route from said one edge node to an egress node of the network, according to an amount of communication resources allocated to said one flow; and (c) receiving the notification at one core node and calculating an amount of communication resources to be consumed at said one core node according to the notification.
In this aspect, each node inside the network can manage the resources to be consumed at the own node, so that it becomes easier to conjecture a transfer capability required for the own node according to a change in time of the resources to be consumed, and thereby it becomes easier to make a node capability augmentation plan.
In addition, it is possible to carry out the management of the resources to be consumed for each set of flows, so that it is possible to reduce the processing load compared with the case where only the management for each flow is possible.
Note that, by managing the resources to be consumed at the own node, it becomes possible to obtain the remaining resources from the resources to be consumed and the transfer capability of the own node, and by notifying the remaining resources to the edge node, it becomes possible for the edge node to make a judgement as to whether or not to accept a new resource allocation request.
According to another aspect of the present invention there is provided a method for managing communication resources in a network containing edge nodes located at a boundary of the network and core nodes located inside the network, comprising the steps of: (a) carrying out a priority control in which an edge node transmits packets by describing a priority level in each packet according to an amount of communication resources allocated to a flow of the packets, and a core node carries out a transfer processing with respect to received packets according to the priority level described in each received packet; (b) transmitting from one edge node an allocated resource notification regarding an amount of communication resources allocated to one set of flows which include one flow and which share at least a route from said one edge node to an egress node of the network, according to an amount of communication resources allocated to said one flow; (c) sequentially transmitting a remaining resource notification regarding a remaining amount of communication resources that can be newly allocated to some set of flows at each node, which is obtained according to the allocated resource notification transmitted from said one edge node and a transfer capability of said each node, from the egress node through any intermediate core codes, toward an upstream side of said one set of flows; and (d) obtaining at said one edge node an available amount of communication resources that can be newly allocated in the network to said one set of flows, according to the remaining resource notification received from a neighboring core node on a downstream side of said one set of flows.
In this aspect, each node notifies the remaining resources on the route from the own node up to the egress node, to a neighboring node that is supposed to be on the upstream side of the set of flows, and this is repeated until the notification reaches to the ingress edge node, such that the edge node can ascertain the remaining resources for this set of flows in the network, and make a judgement as to whether or not to accept a new resource allocation request according to the ascertained remaining resources.
According to another aspect of the present invention there is provided a method for managing communication resources in a network containing edge nodes located at a boundary of the network and core nodes located inside the network, comprising the steps of: (a) carrying out a priority control in which an edge node transmits packets by describing a priority level in each packet according to an amount of communication resources allocated to a flow of the packets, and a core node carries out a transfer processing with respect to received packets according to the priority level. described in each received packet; (b) transmitting from one edge node an allocated resource notification regarding an amount of communication resources allocated to one set of flows which include one flow and which share at least a route from said one edge node to an egress node of the network; (c) sequentially transmitting a remaining resource notification regarding a remaining amount of communication resources that can be newly allocated to said one set of flows at each node, which is obtained at said each node according to the amount of communication resources allocated to said one flow by said one edge node or the allocated resource notification transmitted from said one edge node and a transfer capability of said each node, from said one edge node through any intermediate core codes, toward a downstream side of said one set of flows; and (d) notifying from the egress node to said one edge node an available amount of communication resources that can be newly allocated in the network to said one set of flows, which is obtained according to the allocated resource notification transmitted from said one edge node, a transfer capability of the egress node, and the remaining resource notification received from a neighboring core node on an upstream side of said one set of flows.
In this aspect, each node notifies the remaining resources on the route from the ingress node up to the own node, to a neighboring node that is supposed to be on the downstream side of the set of flows, and this is repeated until the notification reaches to the egress node, and then the egress node finally notifies the remaining resources to the ingress edge node, such that the edge node can ascertain the remaining resources for this set of flows in the network, and make a judgement as to whether or not to accept a new resource allocation request according to the ascertained remaining resources.
The present invention also provides an edge node device and a core node device for realizing the above described communication resource management scheme.
Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings.